/**
 * @author Victor.Wang
 */
package chinachess.mid;

import chinachess.mid.MID_ChessBoard.PiecePosition;


public interface MID_IPiece {
	
	/**
	 * 表示棋子的类型
	 * KING, //将 CAR, //車 HORSE, //马 CANON, 
	 * //炮 BISHOP, //士 ELEPHANT, //象 PAWN, //卒
	 */
	public enum PieceType {
		 KING,	//帅
		 CAR,	//俥
		 HORSE,	//马
		 CANON,	//炮
		 BISHOP,	//士
		 ELEPHANT,	//象
		 PAWN,		//卒
	}
	public enum PieceStatus {
		 DEAD,
		 LIVE,
	}
	/**
	 * 代表棋子的颜色
	 * RED：红方
	 * BLACK：黑方
	 */
	public enum PieceColor {
		 BLACK,
		 RED,
	}

	public PiecePosition getPiecePosition();

	public PieceColor getPieceColor();

	public PieceType getPieceType();

	public PieceStatus getPieceStatus();
	
	public boolean setPieceStatus(PieceStatus status);
	
	public boolean isValidMove(PiecePosition _toPosition);
}